#include "cJSON/cJSON.h"
#include "log/log.h"
#include <stdlib.h>

int main() {
    //创建一个空的JSON对象
    cJSON *root = cJSON_CreateObject();
    //添加一个字符串类型的键值对
    cJSON_AddStringToObject(root, "name", "John");
    //添加一个整数类型的键值对
    cJSON_AddNumberToObject(root, "age", 30);
    //将JSON对象转换为字符串
    char *json_str = cJSON_Print(root);
    log_debug("JSON string: %s", json_str);

    //解析JSON字符串
    cJSON *root2 = cJSON_Parse(json_str);

    cJSON *nameJSON = cJSON_GetObjectItem(root2, "name");
    cJSON *ageJSON = cJSON_GetObjectItem(root2, "age");

    char *name = cJSON_GetStringValue(nameJSON);
    int age = cJSON_GetNumberValue(ageJSON);

    log_debug("name: %s, age: %d", name, age);

    //释放内存
    cJSON_Delete(root);
    cJSON_Delete(root2);
    free(json_str);

    return 0;
}